﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.Xna.Framework;

namespace TangoGames.Scene
{
    public interface IPathMap
    {

        Rectangle Boardbounds { get; set; }

        Point SquareSize { get; set; }

        Point Dimensions { get; set; }

        int[,] ArrayMap { get; set; }

        void FlagAsBusy(BoundingBox box);

        void FlagAsBusy(Rectangle ret);

        void FlagAsBusy(Vector2 PointIni, Vector2 PontEnd);

        void FlagAsFree(BoundingBox box);

        void FlagAsFree(Rectangle ret);

        void FlagAsFree(Vector2 PointIni, Vector2 PontEnd);

        Point ReversePoint(Vector2 point);

        Vector2 ConvertPoint(Point point);

        List<Point> FindPath(Point source, Point destination, bool WayPoints);

        bool DiagonalStep { get; set; }

        bool RealisticWay { get; set; }

        List<Point> GetWayPoints(List<Point> path);

    }
}
